package main

import (
	"fmt"
)

/**
执行用时：4 ms, 在所有 Go 提交中击败了55.25%的用户
内存消耗：2.1 MB, 在所有 Go 提交中击败了100.00%的用户
 */
func mySqrt(x int) int {

	l, r := 0, x
	for l < r {
		mid := (l + r + 1) >> 1
		if mid <= x / mid {
			l = mid
		} else {
			r = mid - 1
		}
	}
	return r
}

func main() {

	fmt.Println(mySqrt(2147395599))
}
